const app = getApp();
const util = require('../../utils/util.js')
const ws = require('../../utils/websocket.js')
let socket;

// pages/room/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    msg: [],
    participants: [],
    room: {},
    isRoomOwner: true,
    scrollTop: 0,
    input: ''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    let that = this;
    // 创建房间
    util.request({
      url: '/api/v1/rooms/openRoom?force=true',
      method: 'post',
      success: function(res) {
        if (res.data.status === 200) {
          // 创建房间成功
          console.log(res)
          // 添加房间信息
          that.setData({
            room: res.data.data,
            msg: [{
              index: 0,
              msg: '创建房间成功，邀请好友进入房间'
            }],
            participants: res.data.data.participants
          })
          socket = ws.regist({
            roomNo: res.data.data.roomNo,
            onMessage: function(msg) {
              console.log(msg);
              if (msg.msgType == 'SYS') {
                that.add('系统消息' + ':' + msg.value)
              } else {
                that.add(msg.user.nickname + ':' + msg.value)
              }
            }
          })
        } else {
          // 创建房间失败
          wx.navigateBack({

          })
        }
      }
    })
  },
  add: function(msg) {
    console.log('接收消息:', msg)
    this.setData({
      msg: this.data.msg.concat({
        index: this.data.msg.length,
        msg: msg,
      }),
      scrollTop: 200 * this.data.msg.length
    })
  },
  send: function(e) {
    let text = e.detail.value;
    let that = this;
    socket.send({
      msgType: 'CHAT',
      value: text
    })

    this.setData({
      input: '',
    })


  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})